Computer telephony (that is, the delivery of telephone calls over computer networks) has recently become a focus of attention due to the potential cost savings of sharing such modern high-bandwidth network facilities for multiple uses. Yet, telephone signals are but one member of a larger class of signals known as real-time signals. Computer network traffic from telephone, video, telemetry, and any other time-sensitive signal source are generally referred to as real-time traffic, because such traffic must arrive at a destination within a specified deadline. Audio and video sources typically generate traffic in equally spaced time intervals. This type of periodic real-time traffic is referred to as isochronous traiic. Thus, the cost savings of using modern computer networks for communications goes far beyond computer telephony to benefit all forms of real-time traffic.
The cost efficiency of computer networks derives from in great part from their use of packet switching. Packet switching involves grouping portions of a signal or data stream into data blocks for transmission over network links. These data blocks, called packets, are self-routing because they contain a header with routing information along with a data payload section. Packet switching mixes packets from many sources over a single link in a form of multiplexing. This high-speed link multiplexing contrasts with the circuit switching used by conventional telephone networks. In circuit switching, a communications link is reserved for use by a single signal. Circuit switching delivers information in a predictable, timely manner. However, because packet switching shares each link among many sources, and because computer traffic often contains a broad mix of data to various destinations, packet switching systems can make more efficient use of communications resources than conventional circuit-switched telephone networks. Furthermore, computer networks leverage the mass-production cost savings and technological advances of commodity products. Sharing of high speed computer communications for non-computer signals therefore has the potential to greatly lower the cost of communications when used with telephone-like signals.
However, a problem arises when simply replacing circuit switching with packet switching. Conventional packet switched computer networks were not designed to handle real-time traffic. Collisions and congestion can induce delays and retransmissions, causing real-time traffic to arrive late at a destination and miss deadlines. Furthermore, such collision and/or congestion induced delays are stochastic by nature and therefore unpredictable. Isochronous traffic sources become "bursty" after traveling through such networks. As a result, the quality of telephone calls placed over the Internet and computer networks in general is very poor at present.
A newer alternative to circuit switching, virtual circuit switching, makes use of time division multiplexing (TDM) to share a link among many calls. Like packet switching, virtual circuit switching shares a link with packets traveling to multiple destinations. however, in contrast to packet switching, virtual circuit switching must pre-allocate a TDM channel on a link. Virtual circuit switching reserves the channel regardless of whether or not packets are traversing it, thereby creating a virtual circuit. Virtual circuit switching improves link efficiency, yet still maintains the predictability of circuit switching. In TDM, time is divided into equal length frames and each call has exclusive use of the link during a prescribed portion of each frame. Because each call is guaranteed regular access to the link resources, circuit switched networks may be used to support delivery of real-time traffic. Moreover, circuit switched and virtual circuit switched networks do not require buffering of information at network switches because their routes are predetermined and remain constant and unimpeded throughout the duration of a call. This is in contrast to packet switched networks, in which network switches contain buffers to absorb temporary traffic fluctuations due to the non-scheduled asynchronous nature of offered traffic having a rapidly fluctuating mix of destinations.
A well known example of virtual circuit switching is Asynchronous Transfer Mode (ATM). In ATM, centralized route servers assign a path identifier for each packet, and each network switch along a packet's route, to pre-configure all switches along its route. This protocol reserves resources for the duration of an isochronous session through a combination of a Time Division Multiplexed (TDM) scheduling mechanism and a buffer management mechanism at each network switch.
For computer networks carrying a mix of non-real-time and time-sensitive (real-time) traffic, circuit switched and virtual circuit switched computer networks are inefficient. since in order to guarantee low latency, a real time call must reserve resources on a peak bandwidth basis. Further, call set-up and tear-down is a relatively long process, taking many packet times. The delays in reconfiguring routes through a central server, and the limited number of allowable routes at any given period of time, may result in inefficient link utilization. Thus, for long distance delivery of non-real-time traffic having a wide mix of destinations. circuit switching and virtual switching have a high cost in relation to packet switching. However, virtual circuit switching does have advantages in reduced packet processing times that speed processing for long streams of isochronous traffic to a fixed destination over a fixed route.
The inventors have determined that it would be desirable to transport real-time traffic, together with non-real time traffic, over relatively short distances (e.g. 2 km). Such transport networks are commonly called Local Area Networks (LANs) and are commonly used in corporate intranets. It would also be desirable if such data could be transported over Wide Area Networks (WANs) such as within the Internet.
Currently, the prevalent architectures for LANs are driven by economic cost factors. In particular, the emergence of low cost computers has dictated that a LAN infrastructure have cost at most on the order of the cost of each of the computers. This has led to broadcast-based LAN technology, such as Ethernet. Ethernet is a "packet-switched" protocol that does not require switching or routing, since the medium broadcasts all information to all devices attached to it. The broadcast medium may simply consist of a single coaxial cable with directly connected network devices. Alternatively, the broadcast medium may consist of a simple low-cost hub with separate wires connected between each computer and the hub, in a so-called star topology.
Although the throughput and latency of an Ethernet network may be significantly improved via the use of switches and routers that make use of its packet-switched underpinnings, at its most fundamental level Ethernet uses a broadcast-based media access control protocol. This ability for deployment in a broadcast network, as well as in conjunction with switches and routers, has made Ethernet cost effective and ubiquitous for both small and large networks.
In broadcast-based LANs such as Ethernet, the media access protocol governs which computer may transmit information on the medium at any given time. Ethernet computer networks, in particular, use a form of media access control known as Carrier Sense Multiple Access with Collision Detect (CSMA/CD), also sometimes known as Aloha. This protocol is described in detail by the IEEE Standard 802.3. It provides a very simple and effective mechanism for allowing multiple packet sources to share a single broadcast computer network medium.
To transmit a new packet using CSMA/CD, a transmitter need first sense that that the network is idle. The transmitter must listen for packets on the network and can only transmit if no packet is currently being transmitted. Since a transmitted packet is broadcast to all receivers on the local network, listening for network activity is trivial. If a transmitter wishing to send a packet senses that a packet is currently being transmitted, then the transmitter defers transmission until it senses that the network is inactive. Collisions naturally arise as part of this mechanism. The most common scenario leading to a collision is where two or more stations. which are both deferring their own respective transmissions during the transmission of another packet, sense a lack of activity at nearly the same time. The protocol detects collisions, and then aborts and reschedules transmission of all packets for a random time later.
The Ethernet protocol, while simple and effective for computer traffic, introduces collisions and delays as part of its natural operation. Collisions introduce non-deterministic delays for packet transmissions. Ethernet also uses variable-length packet sizes which further exacerbates any problems with collision-induced delays. While unpredictable latencies are usually inconsequential for non-real-time traffic, they can make Ethernet unusable for isochronous and other real-time applications. Such characteristics also affects traffic on WANs and the Internet that must traverse a plurality of Ethernet networks in order to reach a final destination. In a local-area network, severe Ethernet overloading causes the entire network to become saturated with collision-retry attempts, resulting in a significant reduction in throughput. This can render a IAN unusable even for non-real-time traffic.
A current method in the art to improve the throughput efficiency of Ethernet networks configured in a star topology is to replace the Ethernet hub with an Ethernet SWitch. With this method, each computer has private access to a path through the switch, eliminating the potential for collisions. An Ethernet switch reads the packet headers to create temporary connections for each packet and uses buffers to resolve temporary congestion. Typically an Ethernet switch employs a plurality of high speed Ethernet controllers, memory modules, and a processor to process each incoming packet to determine each packets unique switch configuration or route. This method, however, has the drawback that an Ethernet switch is considerably more costly than a hub, and in some cases may cost more than a single computer in the network.
Thus, circuit and virtual circuit switching have advantages for isochronous traffic, where streams of traffic continuously flow to a given destination, while Ethernet broadcast hubs may be the most efficient and least costly approach for non-real-time traffic. In view of the foregoing, there is still a need for a low cost and high performance network apparatus and associated methodology which overcomes the limitations of collision-based broadcast protocols such as CSMA/CD and provides quality of service guarantees for LANs carrying a mixture of real-time and non-real-time traffic. The present invention meets this need.